Wednesday 6 February 2019

Live streaming encoders



Encoding is a key aspect of live streaming, it refers to the process of converting raw video and audio data into a digital format suitable for transport across a network (e.g. the internet) and compatible with various platforms and devices using an encoder (Ruether, 2019).

An encoder is a piece of hardware or software that compresses raw video and audio data into a digital format compatible with various platforms and devices, using special algorithms known as codec to discard unnecessary data while still maintaining the aural and visual integrity of the original file (Follansbee, 2004).

Encoders can reduce the original data by unto 80%, from gigabytes videos to megabytes.

A typical encoder would capture video and audio from a source (webcam, camera, video mixer, audio mixer), compress it using a codec (usually H.264 for Video and AAC for Audio), package it and send it to a streaming server using a streaming protocol (usually RTMP), the server ingests the stream, transcodes and distributes it for playback to the end user via a player.
Additionally, some software encoders provide mixing capabilities where multiple sources can be selected, with graphics overlay, titles, transitions and video effects to create a professional-looking broadcast.

The blog post takes a look at some popular software encoders, some of which will be used during the live streaming event at the end of this module.

Adobe Flash Media Live Encoder


One of the first video encoding software to be developed was the Adobe Flash Media Live Encoder from Adobe Systems. Released in 2007, this encoder was used to capture live video and audio in real time for streaming to Flash Media Server (FMS) or a Flash Video Streaming Service (FVSS) via the Real Time Messaging Protocol (RTMP). Available free of charge for both Mac and Windows PCs, Flash media live encoder provided an easy to use and basic streaming operations (Miller, 2009). This product is no longer being developed and has since been replaced newer and robust encoders.

Figure 1 - Adobe Flash Media Live Encoder (Ozer, 2012) 

Open Broadcaster Software


OBS Studio is a free, open source and flexible video streaming software that provides a fairly basic operation and features, very easy for beginners to use. However, it is equipped with powerful APIs that can be used to enable community-generated plugins to enhance the basic OBS software, adding advanced features found in most professional-grade pricey software.

OBS Studio receives regular updates from an enthusiastic team of contributors and is available on Windows, Mac and Linux.

Its features include: live streaming to any RTMP destination, real-time video/audio capturing and mixing, unlimited number of scenes and custom transitions, recording streams locally, intuitive audio mixer, and modular “Dock” UI. See www.obsproject.com for additional features.

Figure 2 - OBS Studio

Wirecast


Wirecast is a robust, live switching video encoding software by Telestream.

It is widely compatible with various video streaming services including YouTube Live, Facebook Live, Wowza, etc, allowing its users to stream live to any RTMP destination. Wirecast also supports streaming live to multiple destinations all at once and streams can also be recorded locally. Wirecast is available for Mac and Windows PCs.

Compatible with a wide range of capture cards, devices, and camera inputs, Wirecast supports live video compositing via a “layers” architecture similar to many graphics programs and facilitates live switching, picture-in-picture composition, titles, audio delay, and many other fine-tuning compositional elements, see Figure 3.

Figure 3 - Wirecast interface

Pre-recorded video content can easily be incorporate into a live broadcast using Wirecast.

Some of its advance features include, instant replay, Use of IP cameras and web streams, Live scoreboards, Virtual 3D, the ability to add up to 7 remote guests to a live broadcast via built-in Wirecast Rendezvous and many more, follow this link http://tiny.cc/wirecast for a full list of supported features and technologies in Wirecast.

Wirecast comes in three different tiers, see Figure 4, Wireless One, Studio and Pro.
Figure 4 - Wirecast Version (Source: telestream.net/wirecast)


vMix


vMix is a professional-grade live video production and streaming software. Like Wirecast, it supports a wide range of inputs, including 4K video cameras, webcam, audio and video files, playlists, PowerPoint, and other sources.

vMix includes native support for multi-bitrate streaming and built-in titling tool that includes animation support. Additionally, it offers an instant-replay/slow motion feature.

vMix is available in six different versions, ranging from basic to pro. The Basic version is free; it supports only very simple streaming. At the other end of spectrum, the $1200 Pro version supports very complex studio setups. Each version supports a different number of inputs. The Basic and Basic HD versions of vMix only support four total inputs. Figure 5 shows a comparison table of the different versions.

This software is updated regular and is only available for Windows PCs.

Figure 5 - Version comparison table (Source: vmix.com)


VidBlasterX


VidBlasterX, is a professional-quality encoding software that is highly expandable, and customisable. VidBlaster provides a modular based user interface, consisting of a series of modules, which can be added, removed, and rearranged on multiple screens as needed, see Figure 4.

VidBlasterX is available in three versions: Home, Studio and Broadcast. The main difference between each version is the number of modules each supports. Each successive module also adds additional advanced features.

For studio users, VidBlasterX supports video routing, recording streams to local disks, displaying outputs on monitors, and outputting to a Blackmagic DeckLink video card.

The input support and other available features are similar to Wirecast and vMix and it can stream to most streaming platforms.

VidBlasterX is only available for Windows PCs. 

Figure 6 - VidBlasterX modular user interface


FFmpeg


FFmpeg a command-line tool for recording, converting and streaming audio and video files can also be used to stream videos to an RTMP server. Mostly used by professional or advanced developers who understand command line operations, FFmpeg supports any resolution and can encode media files using H.264, H.265 and a wide range of codecs. It does not support integrated features like mixing and overlays seen in most software encoder available today. Figure 7 shows an example of FFmpeg streaming operation.

Figure 7 - FFmpeg streaming and playback operations.

References


Follansbee, J. (2004). Get streaming!. Amsterdam: Elsevier.

McDonald, A. (2016). Let’s Talk Encoders!. [podcast] The Streaming Show Podcast. Available at: https://soundcloud.com/wowza-media-systems/encoders [Accessed 16 May 2019].
Miller, K. (2009). Adobe Flash Media Live Encoder. [online] En.wikipedia.org. Available at: https://en.wikipedia.org/wiki/Adobe_Flash_Media_Live_Encoder [Accessed 18 May 2019].

Ozer, J. (2012). FMLE in all its glory. [image] Available at: http://www.streamingmedia.com/Images/ArticleImages/ArticleImage.12436.jpg [Accessed 18 May 2019].

Ruether, T. (2019). The Complete Guide to Live Streaming | Wowza Media Systems. [online] Wowza Product Resources Center. Available at: https://www.wowza.com/blog/complete-guide-to-live-streaming [Accessed 16 May 2019].

Wilbert, M. (2019). Video Streaming Software: 6 Applications Compatible with your Live Streaming Platform. [online] Dacast. Available at: https://www.dacast.com/blog/6-video-streaming-software-compatible/ [Accessed 16 May 2019].

Post a Comment

Whatsapp Button works on Mobile Device only

Start typing and press Enter to search